from rest_framework import serializers
from users.models import User
from django.contrib.auth.models import Group

class AdminPermissionSerializers(serializers.ModelSerializer):


    class Meta:
        model=User
        fields="__all__"
    # 1,重写create方法,密码加密,设置管理员(对新增管理员密码加密)
    def create(self, validated_data):

        # 1,创建用户对象，使用它父亲的方法，对该方法重写
        user=super().create(validated_data)

        # 2,设置管理员密码加密
        user.is_staff=True
        user.is_superuser=True
        user.set_password(validated_data["password"])
        user.save()

        return user
    #重写update,使之更改密码的时候可以给密码加密
    def update(self, instance, validated_data):
        #创建用户对象,c重写它爸的uodate方法
        user=super().update(instance, validated_data)

        user.set_password(validated_data["password"])
        user.save()

        return user


class AdminPermissionSimoleSerializers(serializers.ModelSerializer):
    class Meta:
        model=Group
        fields=("id","name")
